Python 一键复制sheet工作表到另一个工作簿
源码
from openpyxl import Workbook,load_workbook
def copy_sheet(src_xlsx,ssheetname,dst_xlsx,nsheetname=None):
if nsheetname==None:
nsheetname=ssheetname
try:
sw=load_workbook(f'{src_xlsx}')
except KeyError:
raise KeyError('旧工作簿不存在 The old xlsx is not exists')
try:
dw=load_workbook(f'{dst_xlsx}')
except FileNotFoundError:
dw=Workbook()
try:
sheet = dw[f'{nsheetname}']
except KeyError:
sheet=dw.create_sheet(f'{nsheetname}')
try:
src_sheet=sw[f'{ssheetname}']
except KeyError:
raise KeyError('源工作簿文件不存在该工作簿 The sheet does not exist in the source file')
for row in src_sheet.iter_rows():
print(row)
row_list=[]
for cell in row:
row_list.append(cell.value)
print(row_list)
sheet.append(row_list)
dw.save(f'{dst_xlsx}')
参数
src_xlsx 源xlsx工作簿文件(相对/绝对目录及文件名)包含xlsx后缀 不存在则报错 字符串类型 ssheetname 源工作表名 不存在则报错 字符串类型 nsheetname 复制后的工作表名 不填写默认与原名相同 字符串类型 dst_xlsx 目标xlsx工作簿文件 如不存在则创建
|